#include <bits/stdc++.h>
using namespace std;
using uint=unsigned int;
using ll=long long;
using ull=unsigned long long;
using i128=__int128;
const int N=1e6+5;

int vis[1005];//记录输入的单词在缓存中是否出现过
int am[1005];//用于维护长度为m的区间

void solve(){
    int m,n;
    cin>>m>>n;
    int cnt=0;
    int index=0;
    while(n--){
        int num;
        cin>>num;
        if(vis[num]!=0)continue;//如果此单词在缓存中出现过，则命中，不处理
        if(cnt>=m){
            vis[num]=1;
            am[index++]=num;
            vis[am[index-m-1]]=0;//缓存满了删除最先加入区间的
            cnt++;
        }
        else{
            vis[num]=1;
            am[index++]=num;
            cnt++;
        }
    }
    cout<<cnt<<endl;
    return;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    solve();

    return 0;
}